var express = require('express');
var router = express.Router();
const { createToken } = require("tools-factory-tang/jwt")
// 引入tools中加密方法
const { md5 } = require("tools-factory-tang/salt")
const { login, reg, addOrder, getOne,getAllUsers } = require("../api/users")
/* GET users listing. */
//用户登录
router.get('/login', async function (req, res, next) {
  const { usersname, password } = req.query;
  // 对密码加密
  const pwd = md5(password);
  // 从用户数据库中获取对应用户数据
  const { data, status } = await login({ usersname, password: pwd });
  // 判断是否返回用户
  if (status) {
    // 创建令牌并加密
    const token = createToken({ usersname })
    res.send({
      status: true,
      token,
      data
    });
  } else {
    res.send({ status: false });
  }


});

//用户注册
router.post('/reg', async function (req, res, next) {
  const { usersname, password } = req.body;
  // 对密码进行加密
  const pwd = md5(password);
  // 判断第一次输入的密码和确认的密码是否相同
  // 将注册用户添加到用户数据库内
  const data = await reg({ usersname, password: pwd });
  console.log(data);
  const status = true;
  // 判断用户是否添加成功
  if (data) {
    res.send(status);
  } else {
    status = false;
    res.send(status);
  }

});

// 获取用户
router.get('/getOne/:_id', async function (req, res, next) {
  // req.params从传入参数中获取数据
  const { _id } = req.params;
  console.log(_id);
  // 通过_id找到对应用户
  const data = await getOne(_id);
  console.log(data);
  // 将获取的用户数据发送到页面
  res.send(data);
});


// 添加放映厅
router.patch('/order', async function (req, res, next) {
  const {str,scheduleId,tatol,_id} = req.body;
  console.log(str,scheduleId,tatol,_id);
  // 通过获取的参数新增放映厅数据，并拿到新增的放映厅
  const result = await addOrder({str,scheduleId,tatol,_id})
  console.log(result);
  // 将新增放映厅的所有数据返回到页面端
  res.send(result);
});


//获取所有的用户
router.get('/getAllUsers', async function (req, res, next) {
  const data=await getAllUsers()
  res.send(data)
});

module.exports = router;
